//index.js
//获取应用实例
const app = getApp()

Page({
  data: {
    pay_gold:false,
    fileHidden: true,
    gold_input: 0, //鼠标聚焦

    //文件信息
    type: "", //类型
    author: "", //作者
    remark: "", //备注
    gold_num: 0, //文件下载所需金币数
    file_url: "", //临时文件路径
    file_name: "", //文件名
    file_time: 0, //文件上传时间
    file_size: "", //文件大小
    file_suffix: "", //文件后缀

  },
  //蒙层
  preventTouchMove: function () {},

  //鼠标聚焦
  focus: function () {
    this.setData({
      gold_input: "",
    })
    console.log(this.data.gold_num)
  },

  //鼠标移开
  blur: function () {
    this.setData({
      gold_input: 0,
    })

  },



  //获取单选框的值
  getRadio(e) {
    console.log('单选框的值：', e.detail.value)
    this.setData({
      type: e.detail.value
    })
  },
  //获取作者
  getAuthor(e) {
    console.log('备注输入框的值：', e.detail.value)
    this.setData({
      author: e.detail.value,
    })
  },
  //获取备注
  getRemark(e) {
    console.log('备注输入框的值：', e.detail.value)
    this.setData({
      remark: e.detail.value,
    })
  },
  //获取金币
  getGoldNum(e) {
    console.log('金币输入框的值：', e.detail.value)
    this.setData({
      gold_num: e.detail.value,
    })
    console.log(this.data.gold_num)
  },

  //选择文件
  selectFile: function (e) {
    var that = this

    wx.chooseMessageFile({ //从聊天记录中选择文件
      count: 1, //文件数量
      type: 'file', //可以选择除了图片和视频之外的其它的文件
      success(res) {
        console.log('o', that.data.gold_num)
        wx.showLoading({
          title: '加载中...',
        })
        console.log('选择文件的返回值：', res)

        const tempFilePaths = res.tempFiles[0].path //临时文件路径

        //获取文件后缀
        const houzhui = tempFilePaths.match(/\.[^.]+?$/)[0]; //文件后缀，不知道这串代码什么意思
        console.log(houzhui)

        //获取当前时间戳
        var timestamp = Date.parse(new Date());
        timestamp = timestamp / 1000;
        console.log(timestamp)

        //获取文件大小
        var fileSize = res.tempFiles[0].size / 1024;
        console.log(fileSize)
        if (fileSize / 1024 > 100) { //文件大于100M
          wx.showModal({
            title: '温馨提示',
            content: '文件不能大于100M！',
            showCancel: false,
          })
        } else {
          if ((fileSize / 1024) > 1) {
            fileSize = (fileSize / 1024).toFixed(1) + ' M'; //保留小数点一位
          } else {
            fileSize = fileSize.toFixed(1) + ' K';
          }
          console.log(fileSize)

          that.setData({
            file_name: res.tempFiles[0].name,
            file_size: fileSize,
            file_time: timestamp,
            file_suffix: houzhui,
            file_url: tempFilePaths,
            fileHidden: false
          })

        }

      },
      fail: function () {
        console.log('kkk')
      },
      complete:function(){
        wx.hideLoading()
      }
    })
    console.log(this.data.gold_num)
  },

  //提交信息
  onSubmit: function (e) {
    var that = this
    var userInfo = getApp().globalData.userInfo
    that.setData({
      pay_gold:true
    })
    wx.showLoading({
      title: '上传中...',
    })
    // 文件上传
    wx.uploadFile({
      filePath: that.data.file_url,
      name: 'file',
      url: 'https://www.cerywxr.com/treehole/index.php/Home/sharing/up_file',
      method: "POST", //请求方式
      header: {
        'content-type': 'application/x-www-form-urlencoded' //POST提交数据方式
      },
      formData: {
        //用户信息
        user_id: userInfo.user_id, //不能为空，否则用户需先授权登录
        user_school: userInfo.user_school,
        user_faculty: userInfo.user_faculty,
        user_name: userInfo.user_name,
        user_picurl: userInfo.user_picurl, //用户头像路径

        //文件信息
        type: that.data.type, //类型
        author: that.data.author, //作者
        remark: that.data.remark, //备注
        gold_num: that.data.gold_num, //文件下载所需金币数
        file_url: that.data.file_url, //临时文件路径，不能为空，否则用户未上传文件
        file_name: that.data.file_name, //文件名
        file_time: that.data.file_time, //文件上传时间
        file_size: that.data.file_size, //文件大小
        file_suffix: that.data.file_suffix, //文件后缀
      },
      fail() {
        wx.hideLoading({
          success: (res) => {
            wx.showModal({
              title: '温馨提示',
              content: '您还未上传文件哦~',
              showCancel: false
            })
          },
        })

      },
      success: function (res) {
        console.log('文件上传返回值:', res)
        var json = JSON.parse(res.data) // 返回值为string转换成json格式
        console.log(json)
        if (json.error_code == 1) { //用户未登录
          //跳转至授权登录界面
          wx.showModal({
            title: '提示!',
            content: '请授权后再使用小程序',
            showCancel: false,
            success(res) {
              wx.navigateTo({
                url: '../login/login',
              })
            }
          })
        } else if (json.error_code == 2) { //用户未上传文件
          wx.hideLoading({
            success: (res) => {
              wx.showModal({
                title: '温馨提示',
                content: '很抱歉，上传失败！',
                showCancel: false
              })
            },
          })
        } else if (json.error_code == 3) { //上传失败
          wx.hideLoading({
            success: (res) => {
              wx.showModal({
                title: '温馨提示',
                content: '很抱歉，上传失败！',
                showCancel: false
              })
            },
          })
        } else if (json.error_code == 0) { //上传成功
          //交互完毕
          //输入框清空
          //文件上传框清空
          that.setData({
            file_url: "",
            author: "",
            remark: "",
            gold_num: 0,
            fileHidden: true,
            pay_gold:false,
          })
          wx.hideLoading({
            success: (res) => {
              wx.showToast({
                title: '上传成功',
                icon: 'success',
              })
            },
          })

        }
      }
    })
  },
})